/* 
 * File:   ContentTypeConfig.h
 * Author: dell
 *
 * Created on 2012年4月2日, 上午11:34
 */

#ifndef CONTENTTYPECONFIG_H
#define	CONTENTTYPECONFIG_H

#include "../common.h"
#include <string>
#include <evhttp/resources.h>
#include <evhttp/KeyValues.h>

namespace Rapid{
    class ContentTypeConfig {
    public:
        ContentTypeConfig(){};
        virtual ~ContentTypeConfig(){};

        std::string fileType;
        std::string mimeType;
        std::string charset;
        std::string description;    
        std::string contentType;

        //默认响应头
        typedef KeyValues<HashMapStrIgnoreCaseCompare> Headers;
        Headers headers;

        void debug(){
    //        LOG_DEBUG("fileType:%s", fileType.c_str());
    //        LOG_DEBUG("mimeType:%s", mimeType.c_str());
    //        LOG_DEBUG("charset:%s", charset.c_str());
    //        LOG_DEBUG("description:%s", description.c_str());
    //        LOG_DEBUG("contentType:%s", contentType.c_str());
    //        
    //        std::vector<const char*> headerNames;
    //        headers.getNames(headerNames);
    //        std::vector<const char*>::iterator nameit = headerNames.begin();
    //        for(; nameit != headerNames.end(); nameit++){
    //            const Headers::Value* value = headers.gets(*nameit);
    //            do{
    //                LOG_DEBUG("header name:%s, value:%s", *nameit, value->text);
    //            }while(value = value->next);
    //        }

        }    

    private:

    };
}
#endif	/* CONTENTTYPECONFIG_H */

